Microprocessor-based controllers in embedded-system applications commonly utilize look-up tables for retrieving a stored value of a dependent variable as a function of one or more independent variables or keys. In applications requiring large tables, the look-up function can require a considerable amount of time, to the point of perceptibly delaying the system response. A known way of reducing the data retrieval time is to create a hash table that links the memory locations of the data table to a hash index, and to link the keys to the hash index with a hash function. This technique can result in a nearly constant data retrieval time, since each table look-up procedure involves essentially the same number of steps. However, memory limitations often preclude using fully-populated hash tables where each memory location of the data table is linked to a unique hash index. A compromise approach is to utilize a chained hash table in which several memory locations of the data table are chained to each element of an abbreviated hash index. This saves memory, but requires an additional routine (referred to as chaining) for searching through the chained data for the selected hash index.